package cn.biplam.back.operator.systemManage.fileupdown;

import java.util.ArrayList;

import cn.biplam.common.client.DataFilter;
import cn.biplam.common.client.OperatorResult;
import cn.biplam.common.interfaces.DataOperator;
import cn.biplam.common.opcode.SysManageCode.FileThemeOptCode;
import cn.biplam.common.wrapper.ErrorMessage;

/**
 * 文件主题数据操作类
 * 表结构：
 * FILE_THEME_ID     主题ID   
 * FILE_THEME_NAME   主题名称
 * FILE_THEME_DESC   主题说明
 * @author 	WangSong 2009-6-13 下午02:16:16
 * @version 1.0
 */
public class FileThemeOpt extends DataOperator{
	/** 表名称 */
	private static final String tName="FILE_THEME";
	
	/**
	 * 创建系统序列管理表数据操作类
	 * @throws ErrorMessage
	 */
	public FileThemeOpt() throws ErrorMessage{
		super(tName);
		this.mainKey="FILE_THEME_ID";
	}

	/**
	 * 内部转发
	 */
	@Override
	protected OperatorResult _exchange() throws ErrorMessage {
		ArrayList<String> sql=new ArrayList<String>();
		if(opId.equals(FileThemeOptCode.Query_Name)){
			this.queryName(sql, filter);
			return doing(sql, Operator_Type.Select);
		}else{
			throw new ErrorMessage("Operator Exchange outport not found:"+ opId+" !");
		}
	}
	
	/**
	 * 查询主题信息信息
	 * 参数: FILE_THEME_ID
	 */
	public void queryName(ArrayList<String> sql,DataFilter filter) throws ErrorMessage {
		StringBuilder sb=new StringBuilder();
		sb.append("select * from ");
		sb.append(this.tableName);
		sb.append(" where FILE_THEME_ID='");
		sb.append(filter.getValue("FILE_THEME_ID"));
		sb.append("'");
		sql.add(sb.toString());
	}
	
	/**
	 * 初始化文件主题表数据
	 */
	public void tableInit(ArrayList<String> sql,DataFilter filter){
		sql.add("delete from FILE_THEME");
		sql.add("insert into FILE_THEME (FILE_THEME_ID, FILE_THEME_NAME, FILE_THEME_DESC) values ('A', '模型导入', 'ERWIN导出的csv')");
		sql.add("insert into FILE_THEME (FILE_THEME_ID, FILE_THEME_NAME, FILE_THEME_DESC) values ('B', 'ERWIN导出模板', '导出csv模板')");
	}
}
